home *** CD-ROM | disk | FTP | other *** search
/ Die Speccy' 97 / Die Speccy' 97.iso / amiga_system / the_aminet / comm / bbs / wwbbs31_source.lha / WWBBS / Library / wwbbs.h < prev    next >
C/C++ Source or Header  |  1995-03-27  |  8KB  |  192 lines

  1. #include <exec/types.h>
  2. #include <exec/exec.h>
  3. #include <dos/dos.h>
  4. #include <dos/dostags.h>
  5. #include <graphics/modeid.h>
  6. #include <graphics/text.h>
  7. #include <ctype.h>
  8. #include <stdio.h>
  9. #include <stdlib.h>
  10. #include <string.h>
  11.  
  12. #include <proto/dos.h>
  13. #include <proto/exec.h>
  14. #include <proto/utility.h>
  15.  
  16. #include <libraries/wwbbs.h>
  17.  
  18. #include "wwbbs.library_rev.h"
  19.  
  20. char *ver=VERSTAG;
  21.  
  22. struct ExecBase *SysBase;
  23. struct DosLibrary *DOSBase;
  24. struct Library *UtilityBase;
  25.  
  26. struct MsgPort *UpdatePort;
  27. struct SignalSemaphore UpdateSemaphore;
  28.  
  29. struct List ConfigList;
  30. struct SignalSemaphore ConfigSemaphore;
  31. struct List StatusList;
  32. struct SignalSemaphore StatusSemaphore;
  33. struct List UserList;
  34. struct SignalSemaphore UserSemaphore;
  35. struct List MessageGroupList;
  36. struct SignalSemaphore MessageGroupSemaphore;
  37. struct List FileGroupList;
  38. struct SignalSemaphore FileGroupSemaphore;
  39.  
  40. char *ConfigFile="WWBBS:WWBBS.config";
  41. char *UserIndexFile="WWBBS:WWBBS.userindex";
  42. char *UserInfoFile="WWBBS:WWBBS.userinfo";
  43. char *UserAccessFile="WWBBS:WWBBS.useraccess";
  44. char *UserPrefsFile="WWBBS:WWBBS.userprefs";
  45. char *UserStatsFile="WWBBS:WWBBS.userstats";
  46.  
  47. /* config.c */
  48. __asm ULONG GetConfig(register __a0 struct TagItem *);
  49. ULONG GetConfigTags(Tag,...);
  50. __asm ULONG SetConfig(register __a0 struct TagItem *);
  51. ULONG SetConfigTags(Tag,...);
  52. __asm BOOL AddConfig(register __a0 struct TagItem *);
  53. BOOL AddConfigTags(Tag,...);
  54. __asm BOOL RemConfig(register __a0 struct TagItem *);
  55. BOOL RemConfigTags(Tag,...);
  56.  
  57. /* config_lib.c */
  58. struct Node *GetConfigNode(BYTE *,BYTE *,LONG);
  59. void FreeConfigNode(struct Node *);
  60. ULONG GetConfigFields(struct Node *,struct TagItem *);
  61. ULONG SetConfigFields(struct Node *,struct TagItem *);
  62. void LoadConfig(BYTE *);
  63. void SaveConfig(BYTE *);
  64. void SaveConfigList(BPTR,struct List *);
  65. void SaveConfigNode(BPTR,struct Node *);
  66. void SaveConfigField(BPTR,LONG,UWORD,APTR);
  67. void UnLoadConfig(void);
  68. void UnLoadConfigList(struct List *);
  69.  
  70. /* status.c */
  71. __asm ULONG GetStatus(register __a0 struct TagItem *);
  72. ULONG GetStatusTags(Tag,...);
  73. __asm ULONG SetStatus(register __a0 struct TagItem *);
  74. ULONG SetStatusTags(Tag,...);
  75. __asm BOOL AddStatus(register __a0 struct TagItem *);
  76. BOOL AddStatusTags(Tag,...);
  77. __asm BOOL RemStatus(register __a0 struct TagItem *);
  78. BOOL RemStatusTags(Tag,...);
  79.  
  80. /* status_lib.c */
  81. struct Node *GetStatusNode(BYTE *,LONG);
  82. void FreeStatusNode(struct Node *);
  83. ULONG GetStatusFields(struct Node *,struct TagItem *);
  84. ULONG SetStatusFields(struct Node *,struct TagItem *);
  85. void UnLoadStatus(void);
  86.  
  87. /* users.c */
  88. __asm ULONG GetUser(register __a0 struct TagItem *);
  89. ULONG GetUserTags(Tag,...);
  90. __asm ULONG SetUser(register __a0 struct TagItem *);
  91. ULONG SetUserTags(Tag,...);
  92. __asm BOOL AddUser(register __a0 struct TagItem *);
  93. BOOL AddUserTags(Tag,...);
  94. __asm BOOL RemUser(register __a0 struct TagItem *);
  95. BOOL RemUserTags(Tag,...);
  96. __asm BOOL LoadUser(register __a0 struct TagItem *);
  97. BOOL LoadUserTags(Tag,...);
  98. __asm VOID UnLoadUser(register __a0 struct TagItem *);
  99. VOID UnLoadUserTags(Tag,...);
  100.  
  101. /* users_lib.c */
  102. struct Node *GetUserNode(BYTE *,LONG);
  103. void FreeUserNode(struct Node *);
  104. ULONG GetUserInfoFields(struct Node *,struct TagItem *);
  105. ULONG SetUserInfoFields(struct Node *,struct TagItem *);
  106. ULONG GetUserAccessFields(struct Node *,struct TagItem *);
  107. ULONG SetUserAccessFields(struct Node *,struct TagItem *);
  108. ULONG GetUserPrefsFields(struct Node *,struct TagItem *);
  109. ULONG SetUserPrefsFields(struct Node *,struct TagItem *);
  110. ULONG GetUserStatsFields(struct Node *,struct TagItem *);
  111. ULONG SetUserStatsFields(struct Node *,struct TagItem *);
  112. struct Node *FindUser(BYTE *);
  113. void LoadUserIndex(BYTE *);
  114. void SaveUserIndex(BYTE *);
  115. void UnLoadUserIndex(void);
  116. BOOL LoadUserData(BYTE *,struct Node *,ULONG);
  117. void SaveUserData(BYTE *,ULONG);
  118. void UnLoadUserData(struct Node *,ULONG);
  119. ULONG SaveUserField(BPTR,LONG,UWORD,APTR);
  120. BOOL IsTag(Tag *,struct TagItem *);
  121.  
  122. /* messages.c */
  123. __asm APTR OpenMessageGroup(register __a0 BYTE *,register __a1 BYTE *,register __d0 LONG);
  124. __asm void CloseMessageGroup(register __a0 struct MessageGroupNode *);
  125. __asm ULONG GetMessage(register __a0 struct MessageGroupNode *,register __a1 struct TagItem *);
  126. ULONG GetMessageTags(struct MessageGroupNode *,Tag,...);
  127. __asm ULONG SetMessage(register __a0 struct MessageGroupNode *,register __a1 struct TagItem *);
  128. ULONG SetMessageTags(struct MessageGroupNode *,Tag,...);
  129. __asm ULONG AddMessage(register __a0 struct MessageGroupNode *,register __a1 struct TagItem *);
  130. ULONG AddMessageTags(struct MessageGroupNode *,Tag,...);
  131. __asm BOOL RemMessage(register __a0 struct MessageGroupNode *,register __a1 struct TagItem *);
  132. BOOL RemMessageTags(struct MessageGroupNode *,Tag,...);
  133. __asm ULONG GetNextMessage(register __a0 struct MessageGroupNode *,register __d0 ULONG);
  134. __asm ULONG GetPreviousMessage(register __a0 struct MessageGroupNode *,register __d0 ULONG);
  135.  
  136. /* messages_lib.c */
  137. struct MessageNode *GetMessageNode(struct MessageGroupNode *,ULONG);
  138. ULONG GetMessageFields(struct MessageNode *,struct TagItem *);
  139. ULONG SetMessageFields(struct MessageNode *,struct TagItem *);
  140. BOOL LoadMessageGroup(BYTE *);
  141. BOOL SaveMessageGroup(struct MessageGroupNode *);
  142. void FlushMessageGroups(void);
  143. void SaveMessageField(BPTR,LONG,APTR,UWORD);
  144. void SaveMessageString(BPTR,LONG,STRPTR);
  145.  
  146. /* files.c */
  147. __asm APTR OpenFileGroup(register __a0 BYTE *,register __a1 BYTE *,register __d0 LONG);
  148. __asm void CloseFileGroup(register __a0 struct FileGroupNode *);
  149. __asm BOOL GetFileGroupDirectory(register __a0 struct FileGroupNode *,register __a1 BYTE *,register __d0 LONG);
  150. __asm ULONG GetFile(register __a0 struct FileGroupNode *,register __a1 struct TagItem *);
  151. ULONG GetFileTags(struct FileGroupNode *,Tag,...);
  152. __asm ULONG SetFile(register __a0 struct FileGroupNode *,register __a1 struct TagItem *);
  153. ULONG SetFileTags(struct FileGroupNode *,Tag,...);
  154. __asm ULONG AddFile(register __a0 struct FileGroupNode *,register __a1 struct TagItem *);
  155. ULONG AddFileTags(struct FileGroupNode *,Tag,...);
  156. __asm BOOL RemFile(register __a0 struct FileGroupNode *,register __a1 struct TagItem *);
  157. BOOL RemFileTags(struct FileGroupNode *,Tag,...);
  158. __asm ULONG GetNextFile(register __a0 struct FileGroupNode *,register __d0 ULONG);
  159. __asm ULONG GetPreviousFile(register __a0 struct FileGroupNode *,register __d0 ULONG);
  160.  
  161. /* files_lib.c */
  162. struct FileNode *GetFileNode(struct FileGroupNode *,ULONG);
  163. ULONG GetFileFields(struct FileNode *,struct TagItem *);
  164. ULONG SetFileFields(struct FileNode *,struct TagItem *);
  165. BOOL LoadFileGroup(BYTE *,BYTE *);
  166. BOOL SaveFileGroup(struct FileGroupNode *);
  167. void FlushFileGroups(void);
  168. void SaveFileField(BPTR,LONG,APTR,UWORD);
  169. void SaveFileString(BPTR,LONG,STRPTR);
  170.  
  171. /* commands.c */
  172. __asm ULONG NodeCommand(register __a0 BYTE *,register __d0 UBYTE,register __a1 struct TagItem *);
  173. ULONG NodeCommandTags(BYTE *,UBYTE,Tag,...);
  174. __asm ULONG ConsoleCommand(register __a0 BYTE *,register __d0 UBYTE,register __a1 struct TagItem *);
  175. ULONG ConsoleCommandTags(BYTE *,UBYTE,Tag,...);
  176. __asm ULONG SerialCommand(register __a0 BYTE *,register __d0 UBYTE,register __a1 struct TagItem *);
  177. ULONG SerialCommandTags(BYTE *,UBYTE,Tag,...);
  178. __asm ULONG TimerCommand(register __a0 BYTE *,register __d0 UBYTE,register __a1 struct TagItem *);
  179. ULONG TimerCommandTags(BYTE *,UBYTE,Tag,...);
  180.  
  181. /* commands_lib.c */
  182. ULONG DoCommandMessage(BYTE *,BYTE *,UBYTE,struct TagItem *);
  183. ULONG SendCommandMessage(BYTE *,BYTE *,UBYTE,struct TagItem *,ULONG,ULONG *,UBYTE,BOOL);
  184.  
  185. /* update.c */
  186. __asm void SetUpdatePort(register __a0 struct MsgPort *);
  187. __asm void SendUpdate(register __d0 UBYTE,register __a0 BYTE *);
  188.  
  189. /* wwbbs_lib.c */
  190. __asm void LogEntry(register __a0 BYTE *,register __a1 BYTE *,register __a2 BYTE *);
  191. __asm BOOL IsRange(register __a0 BYTE *,register __d0 ULONG);
  192.